package cn.com;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.netflix.turbine.EnableTurbine;
//import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * @author liufl E-mail:Huberier@allpyra.com
 * @version 创建时间：2017年7月18日 下午3:07:36
 * 一定要放到所有文件夹的最外层（不能直接main/java，起码有一层包），不然扫描不到其他的controller，各种mapping就失效了！！！
 * 运行一个打包的程序并开启远程调试支持是可能的，这允许你将调试器附加到打包的应用程序上：
	java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8080,suspend=n \
   		-jar target/test-0.0.1-SNAPSHOT.jar
 */
@EnableDiscoveryClient//应用既作为eureka实例又为eureka client 可以发现注册的服务
@EnableFeignClients//feign调用rest接口
@SpringBootApplication
@EnableHystrixDashboard//熔断监控
@EnableTurbine//集群熔断监控
@EnableCircuitBreaker//单个应用熔断监控
public class HystrixApplication {

	/**
	 * 先输入http://localhost:9002/hystrix，因为没数据所以不断ping...然后请求http://localhost:9002/feign/张三
	 * 返回酷酷的小熊界面，在屏幕中间输入框输入： http://localhost:9002/turbine.stream，然后点击 Monitor Stream ,可以看到出现了俩个监控列表
	 * 查看默认集群使用http://ip:port/turbine.stream ,查看指定集群使用http://ip:port/turbine.stream?cluster=[clusterName],单个应用的监控使用http://ip:port/hystrix.stream 
	 */
	public static void main(String[] args) {
		SpringApplication.run(HystrixApplication.class, args);
	}
}

